package com.ocom.mjrecode.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ocom.common.entity.mjrecode.MjRecord;
import com.ocom.common.request.access.AddAttendanceReq;
import com.ocom.common.request.exposeapi.LargeScreenRequest;
import com.ocom.common.request.srvpaccess.UpdateAvatarRequest;
import com.ocom.common.resp.Result;
import com.ocom.common.vo.recode.AccessRecordVo;
import com.ocom.common.vo.recode.AttendanceRecordVo;
import com.ocom.mjrecode.vo.YmDataGroupByMachVo;

import java.util.List;

public interface MjRecodeService {

     List<MjRecord> findByGoods(QueryWrapper<MjRecord> queryWrapper);

     int batchAdd(List<MjRecord> goods);

	int add(MjRecord mjRecord);

	MjRecord getByGoodsId(Long id);

	Result GetAccessRecord(AccessRecordVo accessRecordVo);

	Result getAttendanceRecord(AttendanceRecordVo request);

	Integer getRecodeNum(Long companyId);

	// 依据设备获取统计列表 （getYmDataGroupByMach）
	public Result getYmDataGroupByMach(YmDataGroupByMachVo ymDataGroupByMachVo);


	List<MjRecord> getMjCountByComId(Long beginComId, Long endComId ,String month);


	Integer  getMjCount(Long beginComId, Long endComId ,String month);


	Result  getMjCount(Long comId,String beginMonth, String endMonth);


	Result  getMjCount(Long beginComId, Long endComId,String beginMonth, String endMonth);

	public List<MjRecord> getNosendRecord(Long comId, String beginTime, Integer target, Integer size, List<String> yearDate);

	boolean sendAccessRecord(Long comId, Long id, int target, String monthValue);

	boolean updateAvatar(UpdateAvatarRequest request);

	Object todayAcTotal(LargeScreenRequest request);

	Object recentlyAcTotal(LargeScreenRequest request);

	Object todayHighFrequencyAcPerson(LargeScreenRequest request);

	Object recentlyAcTime(LargeScreenRequest request);

	Object entryExitRecords(LargeScreenRequest request);

	void addInsideData(AddAttendanceReq request);
}
